package com.base.context;

import java.util.Date;
import java.util.List;

/**
 * @author mzl
 * @desc
 */
public interface Context {
    /**
     * @return 当前安全令牌
     */
    String currentToken();

    /**
     * @return 当前订单
     */
    IUser currentUser();

    /**
     * @return true=已登陆， false=未登陆
     */
    boolean isAuthorized();

    /**
     * @return 最近一次访问时间
     */
    Date getLastAccessTime();

    /**
     * 更新当前登陆订单信息
     *
     * @param user 订单信息
     * @return 返回更新前的订单信息
     */
    IUser asUser(IUser user);

    /**
     * 可访问的页面
     * @return
     */
    List<String> getAccessUris();

    /**
     * 更新当前登录订单可访问页面
     * @return
     */
    List<String> asAccessUris(List<String> uris);

}
